package com.jt.vo;

import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import lombok.experimental.Accessors;

import java.io.Serializable;

/**
 * 作用：指定系统返回值vo对象，与前端进行交互
 */
@Data
@AllArgsConstructor
@NoArgsConstructor
@Accessors(chain = true)
public class SysResult implements Serializable {
    private Integer status;     //状态 200：成功  201：失败
    private String msg;         //服务器返回的提示信息
    private Object data;        //服务器数据
    /**
     * 业务执行失败：
     *      返回值为null
     *      状态201
     *      提示执行失败
     */
    public static SysResult fail(){
        return new SysResult(201,"业务执行失败！",null);
    }
    /**
     * 重载成功的方法
     * 业务执行成功：
     *          状态200
     */
    public static SysResult success(){return new SysResult(200, "业务执行成功！", null);}
    public static SysResult success(Object data){return new SysResult(200, "业务执行成功！", data);}
    public static SysResult success(String msg,Object data){return new SysResult(200, msg, data);}
}
